package fr.unice.servlet;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author Zakaria
 */
	import java.io.*;
import org.jdom.*;
import org.jdom.output.*;

public class JDOM {
//Nous allons commencer notre arborescence en créant la racine XML
   //qui sera ici "Users".
   static Element racine = new Element("Users");

    public JDOM() {
    }

   //On crée un nouveau Document JDOM basé sur la racine que l'on vient de créer
   static org.jdom.Document document = new Document(racine);
public static void setDocument(Document document) {
        JDOM.document = document;
    }

    public static void setRacine(Element racine) {
        JDOM.racine = racine;
    }

public static void main(String[] args)
   {
      //On crée un nouvel Element etudiant et on l'ajoute
      //en temps qu'Element de racine
      Element etudiant = new Element("utilisateur");
      racine.addContent(etudiant);

      //On crée un nouvel Attribut classe et on l'ajoute à etudiant
     //grâce à la méthode setAttribute
      Attribute classe = new Attribute("login","test");
      etudiant.setAttribute(classe);

      //On crée un nouvel Element nom, on lui assigne du texte
      //et on l'ajoute en temps qu'Element de etudiant
      Element nom = new Element("nom");
      nom.setText("nom");
      etudiant.addContent(nom);

      //Les deux méthodes qui suivent seront définies plus loin dans l'article
      affiche();
    //  enregistre("users.xml");
   }
   static void creer(){

   }

    public static Document getDocument() {
        return document;
        
    }

    public static Element getRacine() {
        return racine;
    }



   //Ajouter ces deux méthodes à notre classe JDOM1
public static void affiche()
{
   try
   {
      //On utilise ici un affichage classique avec getPrettyFormat()
      XMLOutputter sortie = new XMLOutputter(Format.getPrettyFormat());
      sortie.output(document, System.out);
   }
   catch (java.io.IOException e){}
}

public static void enregistre(String fichier)
{
   try
   {
      //On utilise ici un affichage classique avec getPrettyFormat()
      XMLOutputter sortie = new XMLOutputter(Format.getPrettyFormat());
      //Remarquez qu'il suffit simplement de créer une instance de FileOutputStream
      //avec en argument le nom du fichier pour effectuer la sérialisation.
      sortie.output(document, new FileOutputStream(fichier));
     // System.out.println("fichier crée");
      
           
   }
   catch (java.io.IOException e){
       
       }

}
// Ajout d"un nouvel utilisateur
public static void ajouterUtilisateur(Element racine1, Document doc1, String pseudo, String email, String confirme, String pwd){
   racine=racine1;
   document=doc1;

    Element elementUser = new Element("Utilisateur");
      Attribute nomAtr = new Attribute("Login",pseudo);
              elementUser.setAttribute(nomAtr);
              Element pwdElement = new Element("Password");
              pwdElement.setText(pwd);
                Element emailElement = new Element("Email");
              emailElement.setText(email);


            Element confirmeElement = new Element("Confirme");
              confirmeElement.setText(confirme);

              
              elementUser.addContent(pwdElement);
              elementUser.addContent(emailElement);
              elementUser.addContent(confirmeElement);
              racine.addContent(elementUser);
              enregistre("users.xml");
              affiche();


}

// Creation du fichier xml au début
public static void creerFile(String file){
    racine = new Element("Users");
    document = new Document(racine);
    setDocument(document);
     Element elementUser = new Element("Utilisateur");
      Attribute nomAtr = new Attribute("Login","admin");
              elementUser.setAttribute(nomAtr);
      Element nomElement = new Element("Nom");
      nomElement.setText("admin");
       Element prenomElement = new Element("Prenom");
              prenomElement.setText("admin");
               Element pwdElement = new Element("Password");
              pwdElement.setText("admin");
                Element emailElement = new Element("Email");
              emailElement.setText(" abdelmounajja@libero.it");
Element confirmeElement = new Element("Confirme");
              confirmeElement.setText("Oui");
 elementUser.addContent(pwdElement);
              elementUser.addContent(nomElement);
              elementUser.addContent(prenomElement);
              elementUser.addContent(emailElement);
              elementUser.addContent(confirmeElement);
              racine.addContent(elementUser);
              enregistre("users.xml");
              affiche();

    enregistre(file);
    JDOM.affiche();
}

public static void creerFilePlayList(String file){
    racine = new Element("PlayList");
    document = new Document(racine);
    setDocument(document);

    enregistre(file);
    JDOM.affiche();
}
}
